/**
 * 系统级别的常用函数
 */
import { router } from '@/router/router.js'

/**
 * @description 别名页面跳转
 * @param {string} name - 页面别名
 * @param {object} [params] - 页面传参
 */
function goByName(name, params = null) {
	// 命名的路由
	if(params){
		// 带查询参数，变成 /router1?plan=private
		router.push({ name, params})
	}else{
		//不带参数
		router.push({ name })
	}
}
/**
 * @description 页面路径跳转
 * @param {string} path - 页面完整路径path
 * @param {object} query - 页面传参
 */
function goByPath(path, query = null) {
	if(query){
		// 带查询参数，变成 /router1?plan=private
		router.push({ path, query})
	}else{
		//不带参数
		router.push({ path })
	}
}
/**
 * @description 返回上一级页面
 * @param {number} n - 返回层数
 */
function goBack(n = 1) {
	let len = getCurrentPages().length
	console.log(len,n)
	if(len > n){ //判断页面栈的数量是否大于要回退的层数
		router.back(n)
	}else{
		router.pushTab({name: 'index'})
	}
}

export {
	goByName,
	goByPath,
	goBack,
}